Methods and apparatus for cell tower location estimation using multiple types of data sources

ABSTRACT

Methods and apparatus are disclosed for estimating, based on data collected from multiple types of data sources, the locations of cell towers. A first source is ranked relative to a second source based on the associated accuracy of each source with respect to estimating the location of a cell tower. Data collected from the higher-ranking source is used to identify estimated locations for cell towers from which such data has been collected. Data collected from the lower-ranking source is thereafter used to identify estimated locations for cell towers from which such data has been collected, to the extent that an estimated location for the cell tower has not already been identified via the data collected from the higher-ranking source. In an example method, the higher-ranking source is associated with RF Layer 3 data and/or messages, and the lower-ranking source is associated with RF Layer 1 data and/or messages.

FIELD OF THE DISCLOSURE

This disclosure relates generally to wireless networks, and, moreparticularly, to methods and apparatus for cell tower locationestimation using multiple types of data sources.

BACKGROUND

Wireless networks include cell towers to facilitate communications toand from wireless devices (e.g., cellular phones) operating within anetwork. The geographic distribution of the cell towers defines acoverage area of the wireless network of a service provider (e.g.,Verizon, AT&T, etc.). Accordingly, the respective locations of the celltowers can impact the extent of coverage that subscribers to the networkmay experience. For example, an adequate number of cell towersdistributed throughout an area generally provides for seamlesscommunication by subscribers. However, if the distribution of the celltowers in an area is inadequate, subscribers may experience poor signalquality, dropped calls, and/or may not be able to connect to thewireless network at all.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of a path an example data collectorconstructed in accordance with the teachings of this disclosure may takeamong example cell towers located within an example area of interest.

FIG. 2 is an illustration showing coverage sectors of example celltowers from which data and/or messages in the form of signals may bereceived and/or otherwise retrieved.

FIG. 3 is a block diagram of an example location estimation systemconstructed in accordance with the teachings of this disclosure forestimating, based on multiple types of data sources, the locations ofcell towers residing within an area of interest.

FIG. 4 is a flowchart representative of example machine-readableinstructions that may be executed to implement the example datacollector of FIGS. 1 and/or 3.

FIG. 5 is an illustration of an example data structure containingexample data records generated by the example record generator of FIG.3.

FIG. 6 is a flowchart representative of example machine-readableinstructions that may be executed to implement the example dataclassifier and the example location estimator of FIGS. 1 and/or 3.

FIG. 7 is an illustration of an example data structure containingexample data records generated and/or organized by the example sourceidentifier of FIG. 3.

FIG. 8 is an illustration of alternate example data structurescontaining example data records generated by and/or organized by theexample source identifier of FIG. 3.

FIG. 9 is an illustration of an example data ranking structure utilized,provided and/or generated by the example source ranker of FIG. 3.

FIG. 10 is an illustration of an example data structure containingexample data records generated by and/or organized by the example sourceranker of FIG. 3.

FIG. 11 is an illustration of alternate example data structurescontaining example data records generated by and/or organized by theexample source ranker of FIG. 3.

FIG. 12 is a flowchart representative of example machine-readableinstructions that may be executed to implement the example data analyzerof FIG. 3 for RF Layer 3 data.

FIG. 13 is an illustration of an example cell tower transmitting signalsthat include RF Layer 3 data and/or messages.

FIG. 14 is an illustration of an example data structure containingpaired RF Layer 3 data records.

FIG. 15 is an illustration of an example data structure containingpaired RF Layer 3 data records that have been processed by the examplesource ranker of FIG. 3.

FIG. 16 is an illustration of an example data structure containingpaired RF Layer 3 data records grouped together by the example dataanalyzer of FIG. 3.

FIG. 17 is an illustration of an example data structure containingpaired, filtered and tagged RF Layer 3 data records generated by theexample data analyzer of FIG. 3.

FIG. 18 is an illustration of an example data structure containing anexample consolidated RF Layer 3 data record generated by the exampledata analyzer of FIG. 3.

FIG. 19 is a flowchart representative of example machine-readableinstructions that may be executed to implement the example data filterof FIG. 3 for removing RF Layer 1 data that is duplicative of RF Layer 3data.

FIG. 20 is a flowchart representative of example machine-readableinstructions that may be executed to implement the example data analyzerof FIG. 3 for RF Layer 1 data.

FIG. 21 is an illustration of example estimated locations for examplecell towers residing within an example area of interest based on exampledata collected from an example high-ranking source.

FIG. 22 is an illustration of example estimated locations for examplecell towers residing within an example area of interest based on exampledata collected from an example low-ranking source.

FIG. 23 is an illustration of the example estimated locations shown inFIG. 22 after the example estimated locations shown in FIG. 22 have beenfiltered.

FIG. 24 is an illustration of the example estimated locations shown inFIG. 21 combined with the example estimated locations shown in FIG. 23.

FIG. 25 is an illustration of an example report that may be generated bythe example report generator of FIG. 3.

FIG. 26 is an illustration of an alternate example report that may begenerated by the example report generator of FIG. 3.

FIG. 27 is a block diagram of an example processing platform capable ofexecuting the example instructions of FIG. 4 to implement the examplemobile unit of FIGS. 1 and/or 3.

FIG. 28 is a block diagram of an example processing platform capable ofexecuting the example instructions of FIGS. 6, 13 and/or 20 to implementthe example central data facility of FIGS. 1 and/or 3.

The figures are not to scale. Wherever possible, the same referencenumbers will be used throughout the drawing(s) and accompanying writtendescription to refer to the same or like parts.

DETAILED DESCRIPTION

While information pertaining to the locations of cell towers residing ina particular service provider's wireless network is valuable, the extentof that value depends largely on the accuracy of the locationinformation. Accurately estimating the locations of cell towers residingin a particular service provider's wireless network, and/or in aparticular area of interest, is a difficult task for third-partyentities that are not affiliated with the service provider.

While location estimations based on RF Layer 1 data sources (e.g., RFsignal power measurements) are readily obtainable by third-partyentities utilizing conventional triangulation methodologies, theselocation estimations may be inaccurate and unpredictable. In someexamples, the location estimation errors vary depending on theoperational status of the cell tower, and/or are a function of theplanning of the wireless network (e.g., infrastructure decisionsregarding cell tower locations). For example, it may be more difficultto accurately estimate the location of a cell tower surrounded bymountainous and/or obstructing terrain because such terrain may presentdifficulties with respect to acquiring data from the cell tower. In suchexample, the location estimation error may be elevated relative to thelocation estimation error that might be associated with an unobstructedcell tower.

While more accurate location estimations may be available from alternatesources (e.g., sources other than an RF Layer 1 data source), suchalternate sources may in some instances be masked and/or blocked by theservice provider such that the alternate sources are unavailable tothird-party entities. For example, a service provider may mask and/orblock cell tower location information contained in RF Layer 3 signals toprevent a third party (e.g., a competing service provider) from usingsuch information to determine the service provider's networkconfiguration and/or layout. When masking and/or blocking of thealternate data source occurs, the third-party entity attempting tocollect data from the alternate sources for the purpose of estimatingthe locations of cell towers residing in the wireless network (or in aparticular area of interest) may end up overlooking or ignoring one ormore of the existing cell towers. If cell towers residing in thewireless network and/or in the area of interest are not accounted for inthe location estimation process, the location estimation process willresult in inaccurate cell tower location estimations for the wirelessnetwork and/or for the area of interest as a whole.

Example methods, apparatus and articles of manufacture disclosed hereinillustrate how, by utilizing data obtained from different types of datasources, a set of location estimations for cell towers residing in aparticular wireless network (or in a particular area of interest) can begenerated. The generated set of location estimations exhibit arelatively higher degree of accuracy in comparison to corresponding setsof location estimations that are based on just one type of data source.

In some examples, data collected from a first data source type having afirst location estimation accuracy is ranked relative to data collectedfrom a second data source type having a second location estimationaccuracy. The ranked data sources are then identified as ahigher-ranking data source and a lower-ranking data source. Thelocations of the cell towers from which the higher-ranking data wascollected are then estimated based on the data collected from thatsource type. If the location of a cell tower residing in the particularwireless network (or in the particular area of interest) is notestimated based on data collected from the higher-ranking data source,the location of any such cell tower is instead estimated based on datacollected from the lower-ranking data source. In other words, when thehighest ranking data source is insufficient and/or otherwiseunavailable, then the next best source of location data is utilized. Asexplained below, combining the location estimations based on the datacollected from the higher-ranking data source with the locationestimations based on the data collected from the lower-ranking datasource results in a set of location estimations for the cell towersresiding in the particular wireless network (or in the particular areaof interest) having a higher degree of accuracy in comparison tocorresponding sets of location estimations based on just one type ofdata source.

In some examples, the data collected from the higher-ranking data sourceincludes RF Layer 3 data. As used herein, the terms “RF Layer 3 data,”“RF Layer 3 message(s)” and/or “RF Layer 3 signal(s)” refer to anysignals, messages and/or information provided, transmitted and/orreceived via a network communication layer and/or protocol of a wirelessnetwork including, without limitation, any signals, messages and/orinformation pertaining to the structure and management of the network,and/or addressing, routing and/or traffic control within the network. Insome examples, the RF Layer 3 data contains the latitude and thelongitude of a cell tower transmitter from which an RF Layer 3 signalincluding the RF Layer 3 data was transmitted.

In some examples, the data collected from the lower-ranking data sourceincludes RF Layer 1 data. As used herein, the terms “RF Layer 1 data,”“RF Layer 1 message(s)” and/or “RF Layer 1 signal(s)” refer to anysignals, messages and/or information provided, transmitted and/orreceived via a physical communication layer and/or protocol of awireless network. In some examples, a triangulation technique is appliedto the RF Layer 1 data to identify the estimated location of a celltower from which RF Layer 1 signals including the RF Layer 1 data weretransmitted.

In some examples, data collected from the lower-ranking data source thatis associated with respective ones of the cell towers is duplicative ofdata collected from the higher-ranking data source. In such examples,when the data collected from the higher-ranking data source has alreadybeen used to identify an estimated location of a cell tower, theduplicative data collected from the lower-ranking data source isfiltered out prior to identifying the estimated location for respectiveones of the cell towers based on data collected from the lower-rankingdata source.

In some examples, a report of the estimated locations for cell towersresiding within an area of interest is generated, the report includingthe estimated location for respective ones of the cell towers based ondata collected from the higher-ranking data source, and furtherincluding the estimated location for respective ones of the cell towersbased on data collected from the lower-ranking data source.

FIG. 1 is an illustration of an example path 108 that an example mobileunit 102 including an example data collector 104 constructed inaccordance with the teachings of this disclosure may take among examplecell towers 110, 112, 114, 116, 118 located within an example area ofinterest 106. In the illustrated example of FIG. 1, as the examplemobile unit 102 travels along the example path 108, the example datacollector 104 may collect signals including data and/or messages fromthe cell towers 110, 112, 114, 116, 118. As discussed below inconnection with FIG. 3, the example data collector 104 generates datarecords based on the signals that the data collector 104 collects fromthe cell towers 110, 112, 114, 116, 118.

In the illustrated example of FIG. 1, the example mobile unit 102 is amotorized vehicle (e.g., a truck) that can be driven throughout theexample area of interest 106. In the illustrated example, the exampledata collector 104 contained within the example mobile unit 102 mayinclude computing equipment (e.g., one or more servers, computers,storage devices, processors, chipsets, and/or other hardware components)used to collect, process and/or store signals received and/or otherwiseretrieved from cell towers located within the example area of interest106. The example mobile unit 102 and/or the example data collector 104may alternatively take on any form and/or structure so long as the formand/or structure permits the example mobile unit 102, including theexample data collector 104, to be maneuvered about the example area ofinterest 106. For example, the mobile unit 102 may alternatively be asmartphone, tablet computer and/or other mobile computing device thathouses (e.g., acts as a vehicle for transporting) the example datacollector 104, which may take the form of one or more hardwarecomponents located within the smartphone, tablet computer, and/or othermobile computing device.

In the illustrated example of FIG. 1, an example central data facility120 including an example data classifier 122 and an example locationestimator 124 receives and/or and or otherwise retrieves the datarecords generated by the example data collector 104. As described belowin connection with FIG. 3, the example data classifier 122 and theexample location estimator 124 of the example central data facility 120process the received data records generated by the example datacollector 104 to determine the locations of the example cell towers 110,112, 114, 116, 118 located within the example area of interest 106. Theexample central data facility 120, including any components and/orsubsystems thereof, may be implemented using either a single computingsystem or multiple computing systems, and may be implemented usingeither a centralized computer architecture or a distributed computerarchitecture. The example central data facility 120 can be implementedwithin, for example, one or more of a server, a personal computer,and/or any other type of computing device.

While the example data classifier 122, the example location estimator124, and/or the example central data facility 120 are shown in FIG. 1 asbeing located outside of the example area of interest 106, any of theexample data classifier 122, the example location estimator 124, and/orthe example central data facility 120 may alternatively be locatedwithin the example area of interest 106. Furthermore, any of the exampledata classifier 122, the example location estimator 124, and/or theexample central data facility 120 may alternatively be located withinthe example mobile unit 102 such that additional portions and/or theentirety of the example central data facility 120 is mobile and/ortransportable along with the mobile unit 102.

In the illustrated example of FIG. 1, the example area of interest 106may be a geographic area of any size, shape and/or configuration,including for example, a zip code, a neighborhood, a town, a city, aregion, or a state. The example area of interest 106 may include anynumber of cell towers. An example configuration of cell towers locatedwithin the example area of interest 106 is described below in connectionwith FIG. 2. Cell towers residing within the example area of interest106 may have any configuration with respect to the number of coveragesectors and/or transmitters from which signals including data and/ormessages may be transmitted. Moreover, each transmitter associated witha cell tower residing within the example area of interest 106 maytransmit signals of any form. For example, the transmitted signals mayinclude RF Layer 1 data and/or messages, RF Layer 3 data and/ormessages, and/or other types of data and/or messages that thetransmitter of the cell tower is capable of transmitting.

In some examples, signals including RF Layer 3-type data and/or messageswill be unavailable from one or more of the cell towers residing withinthe example area of interest 106, either due to the cell tower blockingits RF Layer 3 signal transmissions, or due to the cell towertransmitting signals including RF Layer 3 data and/or messages in amanner such that the information from within those signals that would beof value for the purpose of estimating the location of the cell towerhas been masked. For example, a service provider may desire to maintainthe configuration and/or layout of its network as confidential and/orproprietary information. Thus, the service provider may mask and/orblock cell tower location information contained in RF Layer 3 signals toprevent a third party (e.g., a competing service provider) from usingsuch information to determine the service provider's networkconfiguration and/or layout.

In the illustrated example of FIG. 1, the example data collection path108 located within the example area of interest 106 may take on anyform, including, without limitation, alternate and/or additional formsthat are more complex than and/or redundant of the example path 108illustrated in FIG. 1. Typically, the complexity and/or form of theexample data collection path 108 will be based on the size and/or shapeof the example area of interest 106, the available geographic pathways(e.g., street arrangements) within the example area of interest 106,and/or the volume of data samples that must be obtained by the exampledata collector 104 in order to accurately estimate the locations of thecell towers residing within the example area of interest 106.

In the illustrated example of FIG. 1, as the example data collector 104housed within the example mobile unit 102 travels along the example datacollection path 108, the data collector 104 receives and/or otherwiseretrieves signals including data and/or messages associated with theexample cell towers 110, 112, 114, 116, 118. For example, the datacollector 104 receives and/or otherwise retrieves a first signal “S1”from cell tower 110 at a time “T0.” At time “T0,” the example datacollector 104 also detects a location “L1” at which the signal “S1” wasreceived and/or otherwise retrieved by the data collector 104. Thus, thelocation “L1” is based on the location of the example data collector104, as opposed to being based on and/or derived from any locationinformation that may be embedded in the data and/or messages of theexample signal “S1.” Continuing along the example data collection path108, the example data collector 104 receives and/or otherwise retrievesa second signal “S2” from cell tower 110 at time “T1” and location “L2.”As described below in connection with FIGS. 5 and/or 13, in someexamples the second signal “S2” may be an RF Layer 3 signal including aSYSTEM PARAMETERS message that can be associated and/or paired with theexample first signal “S1” that may be an RF Layer 3 signal including aSYNC message.

Continuing along the example data collection path 108, the example datacollector 104 receives and/or otherwise retrieves a third signal “S3”from cell tower 112 at time “T2” and location “L3,” and also receivesand/or otherwise retrieves a fourth signal “S4” from cell tower 112 attime “T3” and location “L4.” In the illustrated example of FIG. 1, thesignals “S1” and “S2” collected from cell tower 110 may be of adifferent type than the signals “S3” and “S4” collected from cell tower112. For example, signals “S1” and “S2” may be RF Layer 3 signals, whilesignals “S3” and “S4” may be RF Layer 1 signals. In the illustratedexample of FIG. 1, cell tower 112 may not transmit any RF Layer 3signals as a result of RF Layer 3 masking and/or blocking implemented byand/or in connection with cell tower 112.

Continuing along the example data collection path 108, the example datacollector 104 receives and/or otherwise retrieves a fifth signal “S5”and a sixth signal “S6” from cell tower 114 at respective times “T4” and“T5” and respective locations “L5” and “L6.” The example data collector104 also receives and/or otherwise retrieves a seventh signal “S7” andan eighth signal “S8” from cell tower 116 at respective times “T6” and“T7” and respective locations “L7” and “L8.” In the illustrated example,the respective times “T4” and “T5” and the respective locations “L5 and“L6” at which the example data collector 104 receives signals “S5” and“S6” from cell tower 114 are nearly identical to the respective times“T6” and “T7” and the respective locations “L7 and “L8” at which theexample data collector 104 receives signals “S7” and “S8” from celltower 116. The configuration and/or distribution (e.g., the overlappingcoverage areas) of cell towers 114 and 116 is described below inconnection with FIG. 2.

Continuing along the example data collection path 108, the example datacollector 104 receives and/or otherwise retrieves a ninth signal “S9”from cell tower 118 at time “T8” and location “L9,” and also receivesand/or otherwise retrieves a tenth signal “S10” from cell tower 118 attime “T9” and location “L10.” In the illustrated example of FIG. 1, thesignals “S9” and “S10” collected from cell tower 118 may be of the sametype as the signals “S1” and “S2” collected from cell tower 110. Forexample, signals “S1,” “S2,” “S9” and “S10” may all be RF Layer 3signals.

While the example scenario illustrated and described above in connectionwith FIG. 1 involves a relatively small number of received and/orretrieved signals, a substantially larger number of signals willtypically be received and/or retrieved by the example data collector 104while the example data collector 104 and the example mobile unit 102 ismaneuvered about the example area of interest 106. In some examples, thedegree of accuracy with which the locations of the cell towers residingwithin an area of interest are estimated may depend upon a substantiallylarge number of signals being collected throughout the area of interest.Accordingly, relatively higher volumes of signal data collected by theexample data collector 104 may yield an improved accuracy with respectto the location estimations provided by the example central datafacility 120.

FIG. 2 is an illustration showing example coverage sectors 212, 214, 216of the example cell tower 114 (FIG. 1) and example coverage sectors 232,234, 236 of the example cell tower 116 (FIG. 1). In the illustratedexample of FIG. 2, the example cell tower 114 includes exampletransmitters 202, 204, 206, each of which transmits signals includingdata and/or messages into corresponding ones of the example coveragesectors 212, 214, 216. Similarly, the example cell tower 116 includesexample transmitters 222, 224, 226, each of which transmits signalsincluding data and/or messages into corresponding ones of the examplecoverage sectors 232, 234, 236. A coverage sector (e.g., the examplecoverage sector 212) is a virtual way to view the area of coverageprovided by a corresponding transmitter of a cell tower (e.g., theexample transmitter 202 of the example cell tower 114). The signals thatare transmitted by the example transmitters 202, 204, 206 of the examplecell tower 114 and/or by the example transmitters 222, 224, 226 of theexample cell tower 116 may include RF Layer 1 data and/or messages, RFLayer 3 data and/or messages, and/or other types of data and/or messagesthat the transmitters are capable of transmitting. For example, theexample transmitters 202, 204, 206 of the example cell tower 114 maytransmit RF Layer 1 signals as well as RF Layer 3 signals, while theexample transmitters 222, 224, 226 of the example cell tower 116 mayonly transmit RF Layer 1 signals.

In some examples, the data and/or messages included in a transmittedsignal may include a signal identifier (Signal ID) such as, for example,a pseudo-noise code (PN code), a scrambling code (SC code), or aphysical cell identity (PCI). The example Signal ID is associated withthe transmitter of the cell tower from which a signal including dataand/or a message containing the Signal ID was transmitted. In someexamples, the data and/or messages included in a transmitted signal mayinclude a Signal Power measurement. The example Signal Power measurementmay be associated with a relative distance between the location of thecell tower transmitter from which the signal including the Signal Powermeasurement was transmitted and the location at which the transmittedsignal was received by the example data collector 104 of FIG. 1.

In the illustrated example of FIGS. 1 and 2, signals transmitted by theexample cell towers 114, 116 may be received and/or otherwise retrievedby the example data collector 104 of FIG. 1 when the data collector 104is located within a corresponding coverage sector 212, 214, 216 of theexample cell tower 114 and/or a corresponding coverage sector 232, 234,236 of the example cell tower 116. For example, if the data collector104 is located within the example coverage sector 214 of the examplecell tower 114, the data collector 104 may receive signals of any typeand/or form that are being transmitted by the example transmitter 204 ofthe example cell tower 114 that is associated with the example coveragesector 214. Based on the relative proximity between the data collector104 and the example cell tower 114, the data collector 104, when locatedwithin coverage sector 214, may also receive signals that are beingtransmitted by the other example transmitters 202 and 206 of the examplecell tower 114 that are associated with example coverage sectors 212 and216.

In the illustrated example of FIG. 2, the example 236 of the examplecell tower 116 overlaps with the example coverage sector 214 of theexample cell tower 114, as shown at reference number 250. If the exampledata collector 104 of FIG. 1 is located within the example overlappingarea 250 of the example coverage sectors 214, 236, the data collector104 may receive signals of any type and/or form that are beingtransmitted by the example transmitter 204 of the example cell tower 114that is associated with the example coverage sector 214, or the exampletransmitter 226 of the example cell tower 116 that is associated withthe example coverage sector 236. For example, the example signals “S5,”“S6,” “S7” and “S8” transmitted by the example cell towers 114, 116described above in connection with FIG. 1 may be received and/orotherwise retrieved by the example data collector 104 at a locationwithin an overlapping coverage area of the example cell towers 114, 116,such as the example overlapping area 250 shown in FIG. 2.

While both of the example cell towers 114, 116 of FIG. 2 are illustratedas having three coverage sectors, the example data collector 104 of FIG.1 may collect signals including data and/or messages from cell towershaving any number of coverage sectors. Moreover, one or more coveragesectors of any cell tower may or may not overlap with one more coveragesectors of another cell tower residing within an area of interest. Theexample data collector 104 of FIG. 1 is constructed to collect signalsincluding data and/or messages from cell towers residing within an areaof interest, regardless of the relative distribution of the cell towersresiding within the area of interest, and regardless of the number oftransmitters and/or coverage sectors that any cell tower(s) residingwithin the area of interest may contain. In some examples, a signal thata transmitter of a cell tower (e.g., the example cell tower 110 ofFIG. 1) transmits to the example data collector 104 is intended to betransmitted specifically to the example data collector 104 based on thedata collector 104 first contacting the example cell tower andrequesting and/or otherwise prompting the transmission of the signalfrom the cell tower to the data collector 104. In other examples, theexample data collector 104 may collect a signal that a transmitter of acell tower transmits even if the signal is not intended to betransmitted specifically to the example data collector 104.

FIG. 3 is a block diagram of an example location estimation system 300constructed in accordance with the teachings of this disclosure forestimating, based on multiple types of data sources, the locations ofthe example cell towers 110, 112, 114, 116, 118 residing within theexample area of interest 106 of FIG. 1. The example location estimationsystem 300, including any components and/or subsystems thereof, may beimplemented using either a single computing system or multiple computingsystems, and may be implemented using either a centralized computerarchitecture or a distributed computer architecture. The examplelocation estimation system 300 can be implemented within, for example,one or more of a server, a personal computer, or any other type ofcomputing device.

In the illustrated example of FIG. 3, the example location estimationsystem 300 includes the example mobile unit 102 having the example datacollector 104 of FIGS. 1 and/or 3. In the illustrated example of FIG. 3,the example data collector 104 includes an example data receiver 302, anexample location detector 304, an example record generator 306 and anexample collector storage 308. The example location estimation system300 further includes the example central data facility 120 having theexample data classifier 122 and the example location estimator 124 ofFIGS. 1 and/or 3. In the illustrated example of FIG. 3, the example dataclassifier 122 includes an example source identifier 312, an examplesource ranker 314 and an example classifier storage 316. In theillustrated example of FIG. 3, the example location estimator 124includes an example data analyzer 322, an example data filter 324, anexample report generator 326 and an example estimator storage 328.However, fewer or additional structures may be implemented to carry outone or more portions of the functionalities implemented by the exampledata collector 104, the example data classifier 122, the examplelocation estimator 124, and/or other structures associated with one ormore additional and/or alternative functions described herein.

In the illustrated example of FIG. 3, the example data collector 104combines the signal data received and/or otherwise retrieved by theexample data receiver 302 with location data received and/or otherwiseretrieved by the example location detector 304. The example recordgenerator 306 generates one or more example data records associated withthe combined data, and the example data records are stored in theexample collector storage 308 of the data collector 104. As described ingreater detail below, the example data records are transmitted to and/ormade accessible to the example data classifier 122 and/or the examplelocation estimator 124 of FIGS. 1 and/or 3 for further processing.

In the illustrated example of FIG. 3, as the example mobile unit 102 andthe example data collector 104 is transported through an area ofinterest (e.g., the example area of interest 106 of FIG. 1), the exampledata receiver 302 of the data collector 104 receives and/or otherwiseretrieves signals including data and/or messages from one or more celltowers (e.g., the example cell towers 110, 112, 114, 116, 118 of FIG. 1)residing in the area of interest. The example data receiver 302associates a timestamp with each signal that the data receiver 302receives and/or otherwise retrieves. In some examples, the associatedtimestamp may be based on the time at which the signal is receivedand/or otherwise retrieved by the data receiver 302. Alternatively, theassociated timestamp may be based on information contained within and/orrepresented by the signal itself.

In the illustrated example of FIG. 3, the example location detector 304is a global positioning system (GPS) receiver that detects the locationat which signals transmitted by one or more example cell towers (e.g.,the example cell towers 110, 112, 114, 116, 118 of FIG. 1) residingwithin an example area of interest (e.g., the example area of interest106 of FIG. 1) are received and/or otherwise retrieved by the exampledata receiver 302. In some examples, the timestamp that the example datareceiver 302 associates with a received signal is synchronized to atimestamp that the example location detector 304 associates withreceived location data. In other examples, location data received and/orotherwise retrieved by the example location detector 304 is directlyassociated with a signal that is received and/or otherwise retrieved bythe example data receiver 302 at the time such signal is received and/orotherwise retrieved, in which case the location data will share the sametimestamp that the example data receiver 302 associates with the receiptof the signal without the need for synchronization.

In the illustrated example of FIG. 3, the example record generator 306generates a data record associated with each signal that is receivedand/or retrieved by the example data receiver 302 for which the examplelocation detector 304 has provided location data associated with thelocation at which the signal was received and/or retrieved by the datareceiver 302. In some examples, the generated data record may includethe timestamp at which the example data receiver 302 received and/orotherwise retrieved the signal. The example data record may also includethe location data received and/or otherwise retrieved by the examplelocation detector 304 that is associated with the received signal. Theexample data record may also include a Signal ID associated with atransmitter of the cell tower from which the signal containing theSignal ID was transmitted. The example data record may also includeadditional data representing and/or from portions of the associatedsignal. Example data records generated by the example record generator306 of FIG. 3 are described in further detail below in connection withFIG. 5.

In the illustrated example of FIG. 3, data records and/or datastructures that are generated by the example record generator 306 arestored in the example collector storage 308. The example collectorstorage 308 of FIG. 3 is implemented by one or more hard disk drives,but it could additionally or alternatively be implemented by any typeand/or any number of a storage drive, a storage disk, a flash memory, aread-only memory (ROM), a compact disk (CD), a digital versatile disk(DVD), a Blu-ray disc, a cache, a random-access memory (RAM) and/or anyother storage medium in which information is stored for any duration(e.g., for extended time periods, permanently, brief instances, fortemporarily buffering, and/or for caching of the information). Datarecords and/or data structures that are generated by the example recordgenerator 306 and stored in the example collector storage 308 may bestored in any file format, organization scheme and/or arrangement,including without limitation an arrangement corresponding to the exampledata structure described below in connection with FIG. 5. For example,each data record that is stored in the example collector storage 308 maybe stored as an individual file, or may alternatively be aggregated intoa single stored file and/or stored data structure that contains multipledata records. As described in greater detail herein, the data recordsand/or data structures that are stored in the example collector storage308 will be accessible to one or more of the example data classifier122, the example location estimator 124, and/or, more generally, to theexample central data facility 120 of the example location estimationsystem 300 of FIG. 3.

In the illustrated example of FIG. 3, the example data classifier 122includes an example source identifier 312, an example source ranker 314and an example classifier storage 316. The data classifier 122classifies, associates, modifies and/or organizes the example datarecords that have been generated by the example record generator 306and/or stored in the example collector storage 308 such that a sourcetype and/or a source rank is assigned to and/or otherwise associatedwith each example data record. As described in greater detail herein,the example data records, after having been classified, associated,modified and/or otherwise organized by the example data classifier 122,are transmitted to and/or made accessible to the example locationestimator 124 of FIG. 3 for further processing.

In the illustrated example of FIG. 3, the example source identifier 312identifies, assigns and/or otherwise associates a source type withrespective ones of the example data records that are generated by theexample record generator 306 and/or stored in the example collectorstorage 308. For example, the example source identifier 312 may identifya data record that includes RF Layer 3 signal data as being an RF Layer3 data record, because the RF Layer 3 signal was transmitted by an RFLayer 3 data source (e.g., the example cell tower 110 of FIG. 1 thattransmits RF Layer 3 signals). Example data records and/or datastructures that have been processed and/or generated by the examplesource identifier 312 of FIG. 3 are described in further detail below inconnection with FIGS. 7 and 8.

In the illustrated example of FIG. 3, the example source ranker 314identifies, assigns and/or otherwise associates a source rank with theexample data records and/or data structures that have been processedand/or generated by the example source identifier 312. The examplesource ranker 314 determines a source rank to be associated with anexample data record based on the type of source from which the exampledata record was generated and a relative accuracy associated with thattype of source. In some examples, an associated accuracy of each sourcetype is predetermined, known by and/or otherwise provided to the examplesource ranker 314.

For example, the example source ranker 314 may associate an example RFLayer 3 source with a high degree of accuracy, because signals receivedand/or otherwise retrieved from an RF Layer 3 source contain informationfrom which the actual latitude and longitude of a cell tower and/or itstransmitters can be identified. In contrast, the example source ranker314 may associate an example RF Layer 1 source with a relatively lowerdegree of accuracy, because signals received and/or otherwise retrievedfrom an RF Layer 1 source do not contain information from which theactual latitude and longitude of a cell tower and/or its transmitterscan be identified. Instead, the example RF Layer 1 signals containinformation from which a location of a cell tower can be estimated, forexample, via triangulation techniques. Such estimation processes maycarry a relatively greater degree of risk for location error as comparedto using the RF Layer 3-based estimation processes described herein.

Based on the relative accuracy associated with respective ones of theavailable source types, the example source ranker 314 of FIG. 3 defines,assigns and/or otherwise associates a source rank with each source type.For example, the source ranker 314 may assign a rank of “1” to anexample RF Layer 3 source type and a rank of “2” to an example RF Layer1 source type, as the example RF Layer 3 source type has an associatedaccuracy that is more effective, relative to the associated accuracy ofthe RF Layer 1 source type with respect to estimating the location of acell tower. As such, the example source ranker 314 has identified and/orranked the example RF Layer 3 source type as a higher-ranking source(rank 1), and the example RF Layer 1 source type 1004 as a lower-rankingsource (rank 2). An example data ranking structure utilized, providedand/or generated by the example source ranker 314 of FIG. 3 is describedbelow in connection with FIG. 9.

While the example source ranker 314 described above in connection withFIG. 3 may rank as few as two source types, the source ranker 314 canrank any number of source types. For example, the source ranker 314 mayfurther rank a third source type having an associated accuracy that ishigher and/or lower relative to the associated accuracy of the exampleRF Layer 1 source type and/or the example RF Layer 3 source type. Forexample, the third source type may take the form of satellite imageryfrom which the locations of cell towers residing within an example areaof interest can be estimated with a medium degree of accuracy. In suchan instance, the source ranker 314 would assign a source rank to theexample satellite imagery source type that is lower relative to thesource rank assigned to the example RF Layer 3 source type (rank “1”),but higher relative to the source rank assigned to the example RF Layer1 source type (rank “2”). For example, the source ranker 314 may assigna rank of “1.5” to the example satellite imagery source type.Alternatively, the source ranker 314 may assign a source rank of “2” tothe example satellite imagery source type, and assign and/or reassign asource rank of “3” to the example RF Layer 1 source type.

Once the example source ranker 314 of FIG. 3 has associated respectivesource ranks with corresponding source types, the source ranker 314identifies, assigns and/or otherwise associates a source rank withrespective ones of the example data records that have been processed bythe example source identifier 312. For example, if the example sourceranker 314 has associated a source rank of “1” with the RF Layer 3source type, the example source ranker 314 may assign a source rank of“1” to an example data record that the example source identifier 312 hasidentified as being an RF Layer 3 data record. Example data recordsand/or data structures that have been processed and/or generated by theexample source ranker 314 of FIG. 3 are described in further detailbelow in connection with FIGS. 10 and 11.

The example data records and/or data structures that are utilized,processed and/or generated by the example source identifier 312 and/orthe example source ranker 314 are stored in the example classifierstorage 316 of FIG. 3. The example classifier storage 316 of FIG. 3 isimplemented by one or more hard disk drives, but it could additionallyor alternatively be implemented by any type and/or any number of astorage drive, a storage disk, a flash memory, a read-only memory (ROM),a compact disk (CD), a digital versatile disk (DVD), a Blu-ray disc, acache, a random-access memory (RAM) and/or any other storage medium inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, brief instances, for temporarily buffering, and/orfor caching of the information). Data records and/or data structuresthat are stored in the example classifier storage 316 may be stored inany file format, organization scheme and/or arrangement, includingwithout limitation an arrangement corresponding to the example datastructures described below in connection with FIGS. 7-11. For example,each data record that is stored in the example classifier storage 316may be stored as an individual file, or may alternatively be aggregatedinto a single stored file and/or stored data structure that containsmultiple data records. As described in greater detail herein, the datarecords and/or data structures that are stored in the example classifierstorage 316 will be accessible to the source ranker 314, and/or, moregenerally to the example data classifier 122 of FIG. 3, and/or to theexample location estimator 124, and/or, more generally, to the examplecentral data facility 120 of the example location estimation system 300of FIG. 3.

The example location estimator 124 of FIG. 1 includes an example dataanalyzer 322, an example data filter 324, an example report generator326 and an example estimator storage 328. The location estimator 124estimates the locations of cell towers (e.g., the example cell towers110, 112, 114, 116, 118 of FIG. 1) residing in an area of interest(e.g., the example area of interest 106 of FIG. 1) from which theexample data collector 104 of FIGS. 1 and/or 3 has collected data,subsequent to such collected data having first been processed by theexample data classifier 122 of FIGS. 1 and/or 3. As described in greaterdetail below, the example location estimator 124 processes the exampledata records and/or data structures generated by the example sourceranker 314 in an incremental manner, beginning with the highest-rankingdata records and/or data structures, based on the source ranks that theexample source ranker 314 has assigned to such example data recordsand/or data structures.

In the illustrated example of FIG. 3, the example data analyzer 322processes the data records and/or data structures generated by theexample source ranker 314 and/or stored in the example classifierstorage 316 in an incremental manner. The example data analyzer 322first identifies (for example, via a query) the one or more sourcerankings that the example source ranker 314 has associated with the datarecords and/or data structures. The example data analyzer 322 thenselects (for example, via a query) for processing only those datarecords and/or data structures associated with the highest-rankingsource for which the data analyzer 322 has not conducted processing. Forexample, if the example data analyzer 322 determines that source rank“1” RF Layer 3 data records and source rank “2” RF Layer 1 data recordsare available for processing, the data analyzer 322 will recognize thatsource rank “1” is the highest-ranking source that is available forprocessing, and the data analyzer 322 will accordingly select only thesource rank “1” RF Layer 3 data records for processing. Once the exampledata analyzer 322 has processed the example source rank “1” RF Layer 3data records, the data analyzer 322 will then proceed with processingthe data records associated with the next incrementally lower-rankingsource (e.g., the example source rank “2” RF Layer 1 data records). Theexample data analyzer 322 continues with this incremental processingtechnique until the data records and/or data structures associated withthe lowest-ranking source have been processed.

The example data analyzer 322 of FIG. 3, subsequent to selecting a setof data records and/or data structures associated with a particularsource rank (e.g., RF Layer 3 data records associated with source rank“1”), processes the selected data records and/or data structures toestimate the locations of the cell towers of that type of source rank(e.g., cell towers 110, 114 and 118 of FIG. 1 that transmit RF Layer 3signals) residing in an area of interest (e.g., the example area ofinterest 106 of FIG. 1). An example of the manner in which the exampledata analyzer 322 processes a set of RF Layer 3 data records and/or datastructures to estimate the locations of cell towers transmitting RFLayer 3 signals is described below in connection with FIGS. 12-19. Anexample of the manner in which the example data analyzer 322 processesRF Layer 1 data records to estimate the locations of cell towerstransmitting RF Layer 1 signals is described below in connection withFIG. 20.

In the illustrated example of FIG. 3, prior to and/or in conjunctionwith the example data analyzer 322 processing lower-ranking data recordsand/or data structures, the example data filter 324 first filters outany data from the lower-ranking data records and/or data structures thatis associated with a cell tower for which the example data analyzer 322and/or the example location estimator 124 has already generated anestimated location. In other words, duplicative information isidentified and removed from consideration. As such, processing resourcesmay be conserved and/or otherwise saved that would otherwise be consumedby processing one or more types of data that is duplicative of data thathas already been considered.

In the illustrated example of FIG. 3, the example data filter 324assists with the incremental processing performed by the example dataanalyzer 322 by removing data from lower-ranking data records and/ordata structures that is duplicative and/or redundant of data fromhigher-ranking data records and/or structures that the example dataanalyzer 322 has already processed. For example, if the example dataanalyzer 322 and/or the example location estimator 124 of FIG. 3 hasgenerated a first estimated location for a particular cell towerresiding within an area of interest based on higher-ranking RF Layer 3data records and/or data structures, it may be disadvantageous for theexample data analyzer 322 and/or the example location estimator 124 tosubsequently generate a second estimated location for that particularcell tower based on lower-ranking RF Layer 1 data records and/or datastructures, as the second estimated location would be duplicative and/orredundant of, but less accurate than, the first estimated location. Suchadverse duplication scenarios are avoided by implementation of theexample data filter 324.

In some examples, the example data filter 324 first identifieslower-ranking data records having Signal IDs that match the Signal IDsof higher-ranking data records associated with a particular cell towerfor which the example data analyzer 322 and/or the example locationestimator 124 has already generated an estimated location. Once theexample data filter 324 has identified the lower-ranking data recordsbased on the aforementioned matching Signal ID criteria, the data filter324 then removes respective ones of the identified lower-ranking datarecords if the location at which the signal and/or message associatedwith the lower-ranking data record was received and/or otherwiseretrieved by the example data collector 104 is within a thresholddistance (e.g., one mile) of the estimated location of the cell towertransmitter having the matching Signal ID for which higher-ranking datarecords have already been utilized to estimate a location. An example ofthe manner in which the example data filter 324 filters lower-ranking RFLayer 1 data records that are duplicative of higher-ranking RF Layer 3data records is described in further detail below in connection withFIGS. 19 and 21-24.

In the illustrated example of FIG. 3, after the example data analyzer322 and/or the example location estimator 124 has generated locationestimations for the cell towers (e.g., the example cell towers 110, 112,114, 116, 118 of FIG. 1) residing in an area of interest (e.g., theexample area of interest 106 of FIG. 1), the example report generator326 generates one or more reports associated with the locationestimations. In some examples, a report generated by the example reportgenerator 326 includes the location estimations for the cell towersbased on data collected from a higher-ranking data source, such as an RFLayer 3 data source, and also includes the location estimations for thecell towers based on data collected from a lower-ranking data source,such as an RF Layer 1 data source. Example reports generated by theexample report generator 326 of FIG. 3 are described below in connectionwith FIGS. 25-26.

The example data records, data structures and/or reports that areprocessed and/or generated by the example data analyzer 322, the exampledata filter 324, and/or the example report generator 326 are stored inthe example estimator storage 328 of FIG. 3. The example estimatorstorage 328 of FIG. 3 is implemented by one or more hard disk drives,but it could additionally or alternatively be implemented by any typeand/or any number of a storage drive, a storage disk, a flash memory, aread-only memory (ROM), a compact disk (CD), a digital versatile disk(DVD), a Blu-ray disc, a cache, a random-access memory (RAM) and/or anyother storage medium in which information is stored for any duration(e.g., for extended time periods, permanently, brief instances, fortemporarily buffering, and/or for caching of the information). The datarecords, data structures and/or reports that are stored in the exampleestimator storage 328 may be stored in any file format, organizationscheme and/or arrangement, including without limitation an arrangementcorresponding to the example data records, data structures and/orreports described below in connection with FIGS. 14-18 and 25-26. Thedata records, data structures and/or reports that are stored in theexample estimator storage 328 will be accessible to one or more of theexample data analyzer 322, the example data filter 324, the examplereport generator 326 and/or, more generally, the example locationestimator 124 of FIG. 3.

In the example of FIG. 3, the collector storage 308, the exampleclassifier storage 316 and the example estimator storage 328 areillustrated as being separate storage devices, with the exampleclassifier storage 316 and the example estimator storage 328 beingcommonly located at the example central data facility 120. The examplecollector storage 308, the example classifier storage 316 and/or theexample estimator storage 328 may alternatively be a single sharedand/or partitioned storage device and/or storage disk to which datarecords, data structures and/or reports generated and/or processed byany of the example record generator 306, the example source identifier312, the example source ranker 314, the example data analyzer 322, theexample data filter 326 and/or the example report generator 326 may bestored.

While an example manner of implementing the example location estimationsystem 300 is illustrated in FIG. 3, one or more of the elements,processes and/or devices illustrated in FIG. 3 may be combined, divided,re-arranged, omitted, eliminated and/or implemented in any other way.Further, the example data receiver 302, the example location detector304, the example record generator 306, the example collector storage308, the example source identifier 312, the example source ranker 314,the example classifier storage 316, the example data analyzer 322, theexample data filter 324, the example report generator 326, the exampleestimator storage 328, and/or, more generally, the example datacollector 104, the example data classifier 122, the example locationestimator 124, and/or, more generally, the example mobile unit 102, theexample central data facility 120, and/or, more generally, the examplelocation estimation system 300 of FIG. 3 may be implemented by hardware,software, firmware and/or any combination of hardware, software and/orfirmware. Thus, for example, any of the example data receiver 302, theexample location detector 304, the example record generator 306, theexample collector storage 308, the example source identifier 312, theexample source ranker 314, the example classifier storage 316, theexample data analyzer 322, the example data filter 324, the examplereport generator 326, the example estimator storage 328, and/or, moregenerally, the example data collector 104, the example data classifier122, the example location estimator 124, and/or, more generally, theexample mobile unit 102, the example central data facility 120, and/or,more generally, the example location estimation system 300 of FIG. 3could be implemented by one or more analog or digital circuit(s), logiccircuits, programmable processor(s), application specific integratedcircuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or fieldprogrammable logic device(s) (FPLD(s)). When reading any of theapparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the example datareceiver 302, the example location detector 304, the example recordgenerator 306, the example collector storage 308, the example sourceidentifier 312, the example source ranker 314, the example classifierstorage 316, the example data analyzer 322, the example data filter 324,the example report generator 326, the example estimator storage 328,and/or, more generally, the example data collector 104, the example dataclassifier 122, the example location estimator 124, and/or, moregenerally, the example mobile unit 102, the example central datafacility 120, and/or, more generally, the example location estimationsystem 300 of FIG. 3 is/are hereby expressly defined to include atangible computer readable storage device or storage disk such as amemory, a digital versatile disk (DVD), a compact disk (CD), a Blu-raydisk, etc. storing the software and/or firmware. Further still, theexample location estimation system 300 of FIG. 3 may include one or moreelements, processes and/or devices in addition to, or instead of, thoseillustrated in FIG. 3, and/or may include more than one of any or all ofthe illustrated elements, processes and devices.

A flowchart representative of example machine readable instructions forimplementing the example data collector 104 of FIGS. 1 and/or 3 is shownin FIG. 4. Flowcharts representative of example machine readableinstructions for implementing the example data classifier 122 and theexample location estimator 124 of FIGS. 1 and/or 3 are shown in FIGS. 6,12, 19 and/or 20. In these examples, the machine readable instructionscomprise one or more programs for execution by a processor such as theprocessor 2712 shown in the example processor platform 2700 discussedbelow in connection with FIG. 27, and/or the example processor 2812shown in the example processor platform 2800 described below inconnection with FIG. 28. The program(s) may be embodied in softwarestored on a tangible computer readable storage medium such as a CD-ROM,a floppy disk, a hard drive, a digital versatile disk (DVD), a Blu-raydisk, or a memory associated with the processor 2712 and/or 2812, butthe entire program(s) and/or parts thereof could alternatively beexecuted by a device other than the processor 2712 and/or 2812, and/orembodied in firmware or dedicated hardware. Further, although theexample program(s) is/are described with reference to the flowchartsillustrated in FIGS. 4, 6, 12, 19 and 20, many other methods ofimplementing the example data collector 104, the example data classifier122 and/or the example location estimator 124 may alternatively be used.For example, the order of execution of the blocks may be changed, and/orsome of the blocks described may be changed, eliminated, or combined.

As mentioned above, the example processes of FIGS. 4, 6, 12, 19 and 20may be implemented using coded instructions (e.g., computer and/ormachine readable instructions) stored on a tangible computer readablestorage medium such as a hard disk drive, a flash memory, a read-onlymemory (ROM), a compact disk (CD), a digital versatile disk (DVD), acache, a random-access memory (RAM) and/or any other storage device orstorage disk in which information is stored for any duration (e.g., forextended time periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm tangible computer readable storage medium is expressly defined toinclude any type of computer readable storage device and/or storage diskand to exclude propagating signals and to exclude transmission media. Asused herein, “tangible computer readable storage medium” and “tangiblemachine readable storage medium” are used interchangeably. Additionallyor alternatively, the example processes of FIGS. 4, 6, 12, 19 and 20 maybe implemented using coded instructions (e.g., computer and/or machinereadable instructions) stored on a non-transitory computer and/ormachine readable medium such as a hard disk drive, a flash memory, aread-only memory, a compact disk, a digital versatile disk, a cache, arandom-access memory and/or any other storage device or storage disk inwhich information is stored for any duration (e.g., for extended timeperiods, permanently, for brief instances, for temporarily buffering,and/or for caching of the information). As used herein, the termnon-transitory computer readable medium is expressly defined to includeany type of computer readable storage device and/or storage disk and toexclude propagating signals and to exclude transmission media. As usedherein, when the phrase “at least” is used as the transition term in apreamble of a claim, it is open-ended in the same manner as the term“comprising” is open ended.

FIG. 4 is a flowchart representative of example machine-readableinstructions 400 that may be executed to implement the example datacollector 104 of FIGS. 1 and/or 3. The example program 400 of FIG. 4begins when the example data receiver 302 of the example data collector104 of FIG. 3 collects a signal from a cell tower (e.g., the examplecell tower 110 of FIG. 1) located in an area of interest (e.g., theexample area of interest 106 of FIG. 1) (block 402). The example datareceiver 302 of FIG. 3 associates a timestamp with the collected signal(block 404), and the example location detector 304 of FIG. 3 associatesa location with the collected signal (block 406).

The example record generator 306 of FIG. 6 generates a data recordassociated with the collected signal that includes data and/or messagecontent from the collected signal, the associated timestamp, and theassociated location (block 408). For example, an example data recordgenerated by the example record generator 306 of FIG. 3 at block 408 ofthe example program 400 of FIG. 4 may include a signal and/or messagetimestamp, a signal and/or message latitude (e.g., the latitude of thelocation at which the signal and/or message was received by the exampledata collector 104 as determined by the example location detector 304),a signal and/or message longitude (e.g., the longitude of the locationat which the signal and/or message was received by the example datacollector 104 as determined by the example location detector 304), andthe content of, and/or data associated with the content of, the receivedsignal and/or message.

FIG. 5 is an illustration of an example data structure 500 containingexample data records 502-520 generated by the example record generator306 of the example data collector 104 of FIG. 3. The example datarecords 502, 504, 506, 508, 510, 512, 514, 516, 518 and 520 of FIG. 5correspond to the respective example signals “S1” “S2,” “S3,” “S4,”“S5,” “S6,” “S7,” “S8,” “S9” and “S10” described above in connectionwith FIG. 1. In the illustrated example of FIG. 5, each data record(shown in FIG. 5 as a row in the example data structure 500) generatedby the example record generator 306 includes a signal and/or messagetimestamp, a signal and/or message latitude, a signal and/or messagelongitude, and the content of, and/or data associated with the contentof, the received signal and/or message. For example, a first data record502 generated by the example record generator 306 includes a messagetimestamp of “T0”, a message latitude of “MSG_LAT1”, a message longitudeof “MSG_LONG1”, and the content of, and/or data associated with thecontent of, an RF Layer 3 “SYNC” message that has been received and/orotherwise retrieved by the example data receiver 302. A second datarecord 504 generated by the example record generator 306 includes amessage timestamp of “T1”, a message latitude of “MSG_LAT2”, a messagelongitude of “MSG_LONG2”, and the content of, and/or data associatedwith the content of, an RF Layer 3 “SYSTEM PARAMETERS” message that hasbeen received and/or otherwise retrieved by the example data receiver302. A third data record 506 generated by the example record generator306 includes a message timestamp of “T2”, a message latitude of“MSG_LAT3”, a message longitude of “MSG_LONG3”, and the content of,and/or data associated with the content of, an RF Layer 1 “Signal Power”message that has been received and/or otherwise retrieved by the exampledata receiver 302.

While the example data records 502-520 illustrated in FIG. 5 include aspecific number of data fields, the data records generated by theexample record generator 306 may include any number of fields containingany amount of information associated with the received signal, includingwithout limitation information that is more detailed than what isdescribed above and shown in FIG. 5 in connection with example datarecords 502-520. As one example, a data record generated by the examplerecord generator 306 may include a single field having a data stringthat includes all of the message timestamp, message latitude, messagelongitude, and/or message content information that is described aboveand shown in FIG. 5 in connection with example data record 502.Furthermore, while each of the example data records 502-520 illustratedin FIG. 5 includes an equal number of data fields, a data recordgenerated by the example record generator 306 may include any number ofdata fields, and the number of data fields from one data record to thenext, and/or the type of information within those data fields, maydiffer.

FIG. 6 is a flowchart representative of example machine-readableinstructions 600 that may be executed to implement the example dataclassifier 122 and the example location estimator 124 of FIGS. 1 and/or3. The example program 600 of FIG. 6 begins when the example sourceidentifier 312 of FIG. 3 identifies the sources and/or source types fromwhich the data contained in respective ones of the data recordsgenerated by the example record generator 306 was collected by theexample data collector 104 of FIG. 3 (block 602).

FIG. 7 is an illustration of an example data structure 700 containingexample data records 702-720 (shown in FIG. 7 as rows in the exampledata structure 700) generated and/or organized by the example sourceidentifier 312 of FIG. 3. In the illustrated example of FIG. 7,respective ones of the example data records 702-720 have been derivedfrom corresponding ones of the example data records 502-520 shown inFIG. 5 that were generated by the example record generator 306 of FIG.3. The example source identifier 312 has modified the example datarecords 502-520 by identifying, assigning and/or otherwise associating asource type with each such record, thereby resulting in the generationof corresponding example data records 702-720 as shown in the exampledata structure 700 of FIG. 7. In the illustrated example, theidentification, assignment and/or association of a source type inrelation to a particular data record is based on information containedwithin the example “Message Content” field of each data record that theexample source identifier 312 recognizes as being indicative of aparticular source type.

FIG. 8 is an illustration of alternate example data structures 800, 850containing example data records 502-520 (shown in FIG. 8 as rows in theexample data structures 800, 850) for which the example sourceidentifier 312 of FIG. 3 has identified, assigned and/or otherwiseassociated a source type. In the illustrated example of FIG. 8,respective ones of the example data records 502-520 correspond to theexample data records 502-520 shown in FIG. 5 that were generated by theexample record generator 306 of FIG. 3. The example source identifier312 has classified, associated and/or organized the example data records502-520 such that each data record has been placed in a respectiveexample data structure 800, 850 containing data records associatedsolely with that particular source type. For example, the example datastructure 800 contains example data records 502, 504, 510, 512, 518 and520, each of which has been associated with an “RF Layer 3” source type,while the example data structure 850 contains example data records 506,508, 514 and 516, each of which has been associated with an “RF Layer 1”source type. In the illustrated example of FIG. 8, the identification,classification, association and/or organization of a particular datarecord with and/or in relation to a particular source type is based oninformation contained within the example “Message Content” field of eachdata record that the example source identifier 312 recognizes as beingindicative of a particular source type.

Returning to the flowchart of FIG. 6, once the example source identifier312 has identified the source types from which the data contained inrespective ones of the data records was collected, the example sourceranker 314 of FIG. 3 ranks the identified source types based on arelative degree of accuracy associated with each source type inestimating the location of a cell tower (block 604).

FIG. 9 is an illustration of an example data ranking structure 900utilized, provided and/or generated by the example source ranker 314 ofFIG. 3 to define, assign and/or otherwise associate a source rank with asource type having an associated accuracy with respect to the sourcetype's effectiveness in estimating the location of a cell tower. Forexample, the source ranker 314, as illustrated with reference to theexample data structure 900 shown in FIG. 9, has ranked an example RFLayer 3 source type 902 and an example RF Layer 1 source type 904. Anassociated accuracy of each example source type is predetermined, knownby and/or otherwise provided to the example source ranker 314.

In the illustrated example of FIG. 9, the example RF Layer 3 source type902 is associated with a high degree of accuracy, because signalsreceived and/or otherwise retrieved from the RF Layer 3 source containinformation from which the actual latitude and longitude of a cell towerand/or its transmitters can be identified. In contrast, the example RFLayer 1 source type 904 is associated with a relatively lower degree ofaccuracy, because signals received and/or otherwise retrieved from theRF Layer 1 source do not contain information from which the actuallatitude and longitude of a cell tower and/or its transmitters can beidentified. In the illustrated example of FIG. 9, the example datastructure 900 reflects that the source ranker 314 has assigned a rank of“1” to the example RF Layer 3 source type 902 and a rank of “2” to theexample RF Layer 1 source type 904, as the RF Layer 3 source type 902has an associated accuracy that is more effective, relative to theassociated accuracy of the RF Layer 1 source type 904, with respect toestimating the location of a cell tower. As such, the example sourceranker 312 has identified and/or ranked the example RF Layer 3 sourcetype 902 as a higher-ranking source (rank 1), and the example RF Layer 1source type 904 as a lower-ranking source (rank 2).

Returning to the example flowchart of FIG. 6, the example source ranker314 also assigns and/or otherwise associates respective ones of thesource ranks determined by the example source ranker 314 with respectiveones of the data records based on the source type identificationsprovided by the example source identifier 312 (block 606).

FIG. 10 is an illustration of an example data structure 1000 containingexample data records 1002-1020 (shown in FIG. 10 as rows in the exampledata structure 1000) that have been generated and/or organized by theexample source ranker 314 of FIG. 3. In the illustrated example of FIG.10, the example data records 1002-1020 have been derived fromcorresponding ones of the example data records 702-720 shown in FIG. 7based on the example data ranking structure 900 shown in FIG. 9. Theexample source ranker 312 has modified the example data records 702-720by identifying, assigning and/or otherwise associating a source typewith each such record, thereby resulting in the generation ofcorresponding example data records 1002-1020 as shown in the exampledata structure 1000 of FIG. 10. In the illustrated example, theidentification, assignment and/or association of a source rank inrelation to a particular data record is based on information containedwithin the example “Source Type” field of each data record, along withthe relationship that the example data ranking structure 900 providesbetween sources types and associated source ranks. For example, theexample source ranker 314 recognizes that the example record 702 isassociated with an RF Layer 3 source type. The example source ranker 314modifies the example data record 702 based on the relationship definedin the example data ranking structure 900, whereby an RF Layer 3 sourcetype is assigned a source rank of “1”. Accordingly, the example sourceranker 314 identifies, assigns and/or otherwise associates a source rankof “1” with the example record 702, thereby resulting in the generationof corresponding example data record 1002 as shown in the example datastructure 1000 of FIG. 10.

FIG. 11 is an illustration of alternate example data structures 1100,1150 containing example data records 502-520 (shown in FIG. 11 as rowsin the example data structures 1100, 1150) for which the example sourceranker 314 of FIG. 3 has identified, assigned and/or otherwiseassociated a source rank. In the illustrated example of FIG. 11, theexample data records 502-520 correspond to the example data records502-520 shown in FIG. 8 based on the example data ranking structure 900shown in FIG. 9. The example source ranker 314 has classified,associated and/or organized the example data records 502-520 such thateach data record has been placed in a respective example data structure1100, 1150 containing data records associated solely with thatparticular source type and associated source rank. For example, theexample data structure 1100 contains example data records 502, 504, 510,512, 518 and 520, each of which has been associated with an “RF Layer 3”source type and an associated source rank of “1”, while the example datastructure 1150 contains example data records 506, 508, 514 and 516, eachof which has been associated with an “RF Layer 1” source type and anassociated source rank of “2”. In the illustrated example of FIG. 11,the identification, classification, association and/or organization of aparticular data record with and/or in relation to a particular sourcerank is based on the prior identification, classification, and orassociation performed by the example source identifier 312 as describedabove in connection with FIG. 8, along with the relationship that theexample data ranking structure 900 provides between source types andassociated source ranks. For example, the example source ranker 314recognizes that each of the example data records contained in theexample data structure 800 is associated with an RF Layer 3 source type.The example source ranker 314 modifies the example data structure 800based on the relationship defined in the example data ranking structure900, whereby an RF Layer 3 source type is assigned a source rank of “1”.Accordingly, the example source ranker 314 identifies, assigns and/orotherwise associates a source rank of “1” with the example datastructure 800, thereby resulting in the generation of correspondingexample data structure 1100 as shown in FIG. 11.

Returning to the example flowchart of FIG. 6, the example locationestimator 124 of FIG. 3, via the example data analyzer 322 of FIG. 3,determines an estimated location for respective ones of the cell towers(e.g., the example cell towers 110, 112, 114, 116, 118 of FIG. 1)residing in the area of interest (e.g., the example area of interest106) by first processing the data records associated with thehighest-ranked source that has not already been used to estimate thelocation of a cell tower residing within the area of interest (block608).

When the data records associated with the highest-ranked source that hasnot already been used to estimate the location of a cell tower residingwithin the area of interest constitute RF Layer 3 data records, theexample program 600 executes a sub-process at block 608 with respect tothe RF Layer 3 data records. FIG. 12 is a flowchart representative ofexample machine-readable instructions 608A that may be executed toimplement the example data analyzer 322 of FIG. 3 for RF Layer 3 datarecords in connection with the sub-process 608A associated with block608 of FIG. 6. The example program 608A of FIG. 12 begins when theexample data analyzer 322 of FIG. 3 generates paired RF Layer 3 datarecords based on the RF Layer 3 data records generated by the examplerecord generator 306 of FIG. 3 (block 1202). In some examples, a pairedRF Layer 3 data record is generated by combining an RF Layer 3 datarecord including a “SYNC” message with a sequentially transmitted RFLayer 3 data record including a “SYSTEM PARAMETERS” message. The pairedRF Layer 3 data record contains a message timestamp, a message latitudeand longitude, a Signal ID, a Sector ID, and a transmitter latitude andlongitude (block 1202). The pairing process is described in greaterdetail below in connection with FIGS. 13 and 14.

FIG. 13 is an illustration of a cell tower (e.g., the example cell tower110 of FIG. 1) having two transmitters that respectively transmit RFLayer 3 signals including RF Layer 3 data and/or messages into twoexample coverage sectors 1302, 1304. As illustrated in FIG. 13, the RFLayer 3 signals transmitted into coverage sector “A” 1302 may include aseries of “SYNC” messages transmitted at times “T_(A)0,” “T_(A)2” and“T_(A)4” that sequentially alternate with a series of corresponding“SYSTEM PARAMETERS” messages included in RF Layer 3 signals transmittedat times “T_(A)1,” “T_(A)3” and “T_(A)5.” Similarly, the RF Layer 3signals transmitted into coverage sector “B” 1304 may include a seriesof “SYNC” messages transmitted at times “T_(B)0,” “T_(B)2” and “T_(B)4”that sequentially alternate with a series of corresponding “SYSTEMPARAMETERS” messages included in RF Layer 3 signals transmitted at times“T_(B)1,” “T_(B)3” and “T_(B)5.” It may be advantageous for the exampledata analyzer 322 of FIG. 3 to pair, associate and/or otherwise combineinformation from the sequentially transmitted “SYNC” and “SYSTEMPARAMETERS” messages. For example, the data analyzer 322 may generate asingle paired RF Layer 3 data record containing information from boththe “SYNC” message included in the RF Layer 3 signal transmitted intocoverage sector “A” 1302 at time “T0” and the “SYSTEM PARAMETERS”message included in the RF Layer 3 signal transmitted into coveragesector “A” 1302 at time “T1.”

The generation of such paired, associated and/or otherwise combined RFLayer 3 data records is particularly advantageous with respect tocombining the information contained in sequentially transmitted “SYNC”and “SYSTEM PARAMETERS” messages. Such messages separately containinformation that, for purposes of estimating the location of a celltower (e.g., the example cell tower 110 of FIG. 1) according to theexample location estimation system 300 of FIG. 3, is more useful when ispaired, associated and/or otherwise combined into a single data record.For example, an RF Layer 3 “SYNC” message may contain a Signal IDassociated with the transmitter of the cell tower from which a signalincluding data and/or a message containing the Signal ID wastransmitted. In some examples, the Signal ID contained in the RF Layer 3“SYNC” message is associated with a transmitted signal that is receivedand/or otherwise retrieved at a first time by the example data collector104 of FIGS. 1 and/or 3, while a sequentially transmitted RF Layer 3“SYSTEM PARAMETERS” message that is received and/or otherwise retrievedat a second time by the example data collector 104 may contain a “SectorID” parameter as well as the transmitter's latitude and longitudeparameters. The example data analyzer 322 of FIG. 3 pairs and/orotherwise associates the Signal ID of a “SYNC” message that has beenreceived and/or otherwise retrieved by the example data collector 104with the Sector ID, latitude and longitude information of a “SYSTEMPARAMETERS” message that has sequentially been received and/or otherwiseretrieved by the example data collector 104. A single paired RF Layer 3data record of the paired and/or otherwise associated “SYNC” and “SYSTEMPARAMETERS” messages is then generated by the example data analyzer 322that includes the Signal ID, the Sector ID, and the latitude andlongitude information.

FIG. 14 illustrates an example data structure 1400 containing examplepaired RF Layer 3 data records 1402-1426 (shown in FIG. 14 as respectiverows in the example data structure 1400) that were generated by theexample data analyzer 322 of FIG. 3 by pairing, associating and/orotherwise combining “SYNC” messages received and/or otherwise retrievedby the example data collector 104 with “SYSTEM PARAMETERS” messagessequentially received and/or otherwise retrieved by the example datacollector 104 from one or more RF Layer 3 data sources. In theillustrated example of FIG. 14, the example paired RF Layer 3 datarecord 1402 includes a message timestamp of “T_(P)0,” a message latitudeof “MSG_LAT1,” a message longitude of “MSG_LONG1,” a Signal ID of “1,” aSector ID of “1001,” a transmitter latitude of “X1,” and a transmitterlongitude of “Y1.” While the example paired RF Layer 3 data records1402-1426 illustrated in FIG. 14 include a specific number of datafields, the paired RF Layer 3 data records generated by the example dataanalyzer 322 may include any number of fields containing any amount ofinformation associated with the signals and/or the messages and/or datareceived by the example data collector 104, including without limitationinformation that is more detailed than what is described above and shownin FIG. 14 in connection with the example paired RF Layer 3 data records1402-1426.

In some examples, the RF Layer 3 data records, prior to being paired bythe example data analyzer 322 of FIG. 3, may first be processed by theexample source identifier 312 and/or the example source ranker 314 ofFIG. 3. For example, FIG. 15 is an illustration of an example datastructure 1500 containing paired RF Layer 3 data records 1402-1426(shown in FIG. 15 as respective rows in the example data structure 1500)generated by the example data analyzer 322 in a similar manner to thatdescribed above with respect to the example paired RF Layer 3 datarecords 1402-1426 of FIG. 14. However, in the example of FIG. 15, theexample data analyzer 322 has generated the example paired RF Layer 3data records 1402-1426 after the example data identifier 312 and theexample data ranker 314 have first processed the RF Layer 3 data recordsused by the example data analyzer 322 to generate the example paired RFLayer 3 data records 1402-1426. In the illustrated example of FIG. 15,the example data structure 1500 has been assigned and/or associated witha source rank of “1” by the example source ranker 314 of FIG. 3. Inother examples, the pairing of the RF Layer 3 data records mayalternatively be performed by the example record generator 306 of FIG.3, and the resultant paired RF Layer 3 data records may then be furtherprocessed by the example source identifier 312, the example sourceranker 314 and/or the example data analyzer 322 of FIG. 3.

Returning to the flowchart of FIG. 12, the example data analyzer 322 ofFIG. 3 identifies, from among the paired RF Layer 3 data records, thosedata records having common transmitter latitude/longitude pairings(block 1204). The example data analyzer 322 then groups the identifieddata records according to Sector ID (block 2506). For example, to builda relationship between the Signal ID parameters and Sector ID parametersassociated with the example paired RF Layer 3 data records 1402-1426 ofFIG. 14, the example data analyzer 322 of FIG. 3 groups, categorizesand/or otherwise organizes respective ones of the example paired RFLayer 3 data records 1402-1426 having the same Sector ID and identical,or nearly identical (e.g., within a threshold distance) transmitterlatitudes and longitudes.

FIG. 16 is an illustration of an example data structure 1600 containingexample paired RF Layer 3 data records from among the example paired RFLayer 3 data records 1402-1426 of FIG. 14 that the example data analyzer322 has grouped together. In the illustrated example of FIG. 16, theexample data analyzer 322 has grouped together example paired RF Layer 3data records 1402, 1406, 1408 and 1420, as each such data recordcontains a Sector ID of “1001”, a transmitter latitude of “X1”, and atransmitter longitude of “Y1”. Similarly, the example data analyzer 322has grouped together example paired RF Layer 3 data records 1404, 1414and 1426, as each such data record contains a Sector ID of “1002”, atransmitter latitude of “X1”, and a transmitted longitude of “Y1”. Theexample data analyzer 322 has also grouped together example paired RFLayer 3 data records 1418 and 1422, as each such data record contains aSector ID of “1003”, a transmitter latitude of “X1”, and a transmittedlongitude of “Y1”. The example data structure 1600 of FIG. 16 does notinclude any of example paired RF Layer 3 data records 1410, 1412, 1416or 1424 shown in FIG. 14, as each such data record contained a Sector IDthat did not match the Sector ID of any other example paired RF Layer 3data record shown in FIG. 14. Thus, the example data analyzer 322 treatsthe data records containing such non-matching Sector IDs as noise and/orotherwise irrelevant information.

Returning to the flowchart of FIG. 12, the example data analyzer 322identifies, from among the grouped paired RF Layer 3 data records, thosedata records having the most frequent Signal IDs (block 1206). Theexample data analyzer 322 then identifies an associated paired RF Layer3 data record for each such Signal ID, and assigns a Tower ID to eachassociated paired RF Layer 3 data record (block 1206). For example, theexample data analyzer 322 of FIG. 3 identifies and/or selects a pairedRF Layer 3 data record from each grouping of paired RF Layer 3 datarecords based on the frequency (e.g., satisfying a threshold number ofoccurrences) of the Signal IDs contained by the example data recordswithin the grouping. The example data analyzer 322 then tags, assignsand/or otherwise associates each selected paired RF Layer 3 data recordwith a Tower ID. In some examples, each Tower ID assigned by the dataanalyzer 322 is unique to a particular cell tower for which the exampledata analyzer 322 and/or the example location estimator 124 of FIG. 3will estimate a location.

FIG. 17 is an illustration of an example data structure 1700 containingexample paired RF Layer 3 data records 1702, 1704 and 1706 that havebeen generated by the example data analyzer 322 of FIG. 3 based on theexample grouped paired RF Layer 3 data records 1402, 1404 and 1418 shownin FIG. 16. For example, with reference to FIG. 16, three of the fourexample RF Layer 3 data records within the example grouped RF Layer 3data records 1402, 1406, 1408 and 1420 contain a Signal ID of “1”. Basedon the satisfaction of a frequency threshold, the example data analyzer322 has selected example paired RF Layer 3 data record 1402 having aSignal ID of “1” for inclusion in the example data structure 1700 ofFIG. 17. The example data analyzer 322 has assigned a Tower ID of “001”to that data record, thereby resulting in the generation ofcorresponding example data record 1702 as shown in the example datastructure 1700 of FIG. 17. Similarly, again with reference to FIG. 16,two of the three example RF Layer 3 data records within the examplegrouped RF Layer 3 data records 1404, 1414 and 1426 contain a Signal IDof “2”. Based on the satisfaction of a frequency threshold, the exampledata analyzer 322 has selected example paired RF Layer 3 data record1404 having a Signal ID of “2” for inclusion in the example datastructure 1700 of FIG. 17, and has assigned the same Tower ID of “001”to that data record, thereby resulting in the generation ofcorresponding example data record 1704 as shown in the example datastructure 1700 of FIG. 17. Once again with reference to FIG. 16, both ofthe example RF Layer 3 data records within the example grouped RF Layer3 data records 1418 and 1422 contain a Signal ID of “3”. Based on thesatisfaction of a frequency threshold, the example data analyzer 322 hasselected example paired RF Layer 3 data record 1418 having a Signal IDof “3” for inclusion in the example data structure 1700 of FIG. 17, andhas assigned the same Tower ID of “001” to that data record, therebyresulting in the generation of corresponding example data record 1718 asshown in the data structure 1700 of FIG. 17.

Returning to the flowchart of FIG. 12, the example data analyzer 322generates cell tower-specific RF Layer 3 data records, with each suchdata record including a Tower ID, associated Signal IDs, associatedSector IDs, and associated transmitter latitudes and longitudes (block1208). The information contained in such cell tower-specific RF Layer 3data records provides an estimated location (e.g., based on thetransmitter latitude and longitude) of an identified cell tower (e.g.,the Tower ID) and its associated transmitters (e.g., the Signal IDs) andassociated sectors (e.g., the Sector IDs). For example, the example datastructure 1700 shown in FIG. 17 contains three example RF Layer 3 datarecords 1702, 1704 and 1718, each of which contains a Signal ID, aSector ID, a Tower ID, a transmitter latitude, and a transmitterlongitude. Once the example RF Layer 3 data records 1702, 1704 and 1718have been organized in this manner, the example data analyzer 322further groups, categorizes and/or otherwise organizes any data recordscontained in the example data structure 1700 having the same latitudeand longitude such that a number of distinct transmitters and/orcoverage sectors associated with a particular cell tower, as identifiedby a particular Tower ID, can be identified.

FIG. 18 is an illustration of an example data structure 1800 containingan example cell tower-specific RF Layer 3 data record 1802 generated bythe example data analyzer 322 of FIG. 3 based on the example RF Layer 3data records 1702, 1704 and 1718 shown in FIG. 17. For example, withreference to FIG. 17, each of the example RF Layer 3 data records 1702,1704 and 1718 contains a transmitter latitude of “X1” and a transmitterlongitude of “Y1”. Based on this commonality, the example data analyzer322 has consolidated example RF Layer 3 data records 1702, 1704 and1718, thereby resulting in the generation of the example RF Layer 3 celltower-specific data record 1802 as shown in the example data structure1800 of FIG. 18. The example cell tower-specific RF Layer 3 data record1802 contains a list of Signal IDs, a list of Sector IDs, a transmitterlatitude, and a transmitter longitude, all of which are associated withthe Tower ID that is likewise contained in the example celltower-specific RF Layer 3 data record 1802.

As described above, cell towers typically include of one or moretransmitters installed at a common location (e.g., attached to the celltower). The number of distinct Signal IDs included in the example celltower-specific RF Layer 3 data record 1802 indicates the number oftransmitters and/or coverage sectors that are located on and/or at aparticular cell tower having a Tower ID of “001”, a latitude of “X1”,and a longitude of “Y1”. Based on the location information (e.g., theactual latitude and actual longitude at which the cell tower transmitteris located) contained in any of the example cell tower-specific RF Layer3 data record 1802, and/or the example RF Layer 3 data structure 1800,the example data analyzer 322 and/or the example location estimator 124of FIG. 3 determines an estimated location of the example cell towerhaving a Tower ID of “001”. By virtue of using RF Layer 3 data recordsprocessed in the manner describe above, because the estimated locationis based on the actual latitude and actual longitude of the transmittersassociated with the Tower ID “001” cell tower, the estimated locationwill demonstrate little, if any, location error relative to the actualphysical location of the Tower ID “001” cell tower.

While the example paired, grouped, selected and/or cell tower-specificRF Layer 3 data records 1402-1426, 1702, 1704, 1718 and 1802, and/ordata structures 1400, 1500, 1600, 1700 and 1800 illustrated in FIGS. 14,15, 16, 17 and 18 include a specific number of data fields and/or aspecific structure, the RF Layer 3 data records and/or data structuresgenerated and/or analyzed by the example data analyzer 322 in connectionwith the sub-process 608A of FIG. 12 may include any number of fieldscontaining any amount of information, and/or any form or structure,including without limitation information that is more detailed than whatis described above and shown in FIGS. 14, 15, 16, 17 and 18 in relationto example data records 1402-1426, 1702, 1704, 1718 and 1802, andexample data structures 1400, 1500, 1600, 1700 and 1800.

Following the execution of blocks 1202-1208 of the sub-process 608Adescribed above in connection with the processing of RF Layer 3 datarecords as described in connection with the flowchart of FIG. 12, thesub-process 608A returns to block 608 of the example program 600 of FIG.6, and the example program 600 then proceeds to block 610.

Returning to the flowchart of FIG. 6, once the example locationestimator 124 has processed the data records associated with thehighest-ranked source that has not already been used to estimate thelocation of a cell tower residing within the area of interest, theexample location estimator 124, via the example data analyzer 322, thendetermines whether additional data records associated with alower-ranked source are available for processing (block 610).

If such additional data records associated with a lower-ranked sourceare available, the example location estimator 124, via the example datafilter 324 of FIG. 3, determines whether the additional data recordsassociated with the lower-ranked source contain data that is duplicativeof data contained in the data records associated with a higher-rankedsource that has already been used to estimate the location of a celltower residing within the area of interest (block 612). If the exampledata filter 324, at block 612, does not identify duplicative data, theprogram 600 returns to block 608. If the example data filter 324, atblock 612, instead identifies duplicative data, the example data filter324 filters out any data records associated with the lower-rankingsource containing the duplicative data (block 614), and the exampleprogram 600 then returns to block 608 as described above.

FIG. 19 is a flowchart representative of example machine-readableinstructions 614 that may be executed as a sub-process to block 614 ofthe example machine-readable instructions 600 of FIG. 6 to implement theexample data filter 324 of FIG. 3 in a scenario involving higher-rankingdata records (e.g., RF Layer 3) and lower-ranking data records (e.g., RFLayer 1). The example program 614 of FIG. 19 begins when the exampledata filter 324 parses a cell tower-specific RF Layer 3 data record(e.g., the example cell tower-specific RF Layer 3 data record 1802 ofFIG. 18) to obtain the associated Signal IDs and associated transmitterlatitude and longitude (block 1902). For example, with reference to FIG.18, the example data filter 324 parses the example cell tower-specificRF Layer 3 data record 1802 and identifies, from the parsed RF Layer 3data record, a Tower ID “001”, Signal IDs “1”, “2” and “3”, and alocation including a latitude “X1” and a longitude “Y1.”

The example data filter 324 compares the parsed RF Layer 3 data recordwith available RF Layer 1 data records having associated Signal IDs andassociated RF data points (e.g., message latitudes and longitudes)(block 1904). The example data filter 324 then determines whether theparsed RF Layer 3 data record contains a Signal ID that matches a SignalID contained in any RF Layer 1 data record (block 1906). If there are nomatching Signal IDs among the compared RF Layer 3 and RF Layer 1 datarecords, the example sub-process 614 of FIG. 19 terminates. If, however,a matching Signal ID is found, the example data filter 324 calculatesthe distance between the latitude and longitude associated with the RFLayer 3 data record on the one hand, and the RF Layer 1 data points(e.g., message latitude and longitude) contained in the matching RFLayer 1 data record on the other hand (block 1908).

The example data filter 324 determines whether the calculated distanceis within a distance threshold (block 1910). If the calculated distanceis not within the distance threshold, the example sub-processterminates. If, however, the calculated distance is within the distancethreshold, the example data filter 324 removes the corresponding RFLayer 1 data record, such that the removed RF Layer 1 data record willnot be considered by the example data analyzer 322 when the example dataanalyzer 322 processes the lower-ranking RF Layer 1 data records (block1912).

For example, with reference to the example cell tower-specific RF Layer3 data record 1802 of FIG. 18 after the data record has been parsed bythe example data filter 324 as described above, the example data filter324 identifies any RF Layer 1 data record having a Signal ID of “1”, “2”or “3.” The example data filter 324 then identifies the message latitudeand message longitude of any RF Layer 1 data record having such amatching Signal ID, and determines whether the identified messagelatitude and message longitude of the RF Layer 1 data record correspondsto a location that is within a threshold distance (e.g., one mile) ofthe location corresponding to the latitude “X1” and the longitude “Y1”that the data filter 324 identifies from parsing the example celltower-specific RF Layer 3 data record 1802. If the RF Layer 1 datarecord is within the threshold distance, the example data filter 324removes and/or filters out the RF Layer 1 data record such that the datarecord will not be considered by the example data analyzer 322 when theexample data analyzer 322 processes the lower-ranking RF Layer 1 datarecords. If the RF Layer 1 data record is not within the thresholddistance, the example data filter 324 foregoes filtering the RF Layer 1data record such that the data record will be considered by the exampledata analyzer 322 when the example data analyzer 322 processes thelower-ranking data records.

Following the execution of blocks 1902-1912 of the sub-process 614described above in connection the flowchart of FIG. 19, the sub-process614 returns to block 614 of the example program 600 of FIG. 6, and theexample program 600 then proceeds to block 608.

Upon the program 600 returning to block 608, whether from block 612 orfrom block 614, the example location estimator 124, via the example dataanalyzer 322 of FIG. 3, determines an estimated location for respectiveones of the cell towers residing in the area of interest by processingthe data records associated with the lower-ranked source, as those datarecords then represent the highest-ranked source that has not alreadybeen used to estimate the location of a cell tower residing within thearea of interest. For example, in a scenario where the data that wascollected from the example data collector 104 of FIG. 3 includes onlydata obtained from RF Layer 3 sources and RF Layer 1 sources, theexample data analyzer 322, having first processed the data recordsand/or data structures associated with the higher-ranking RF Layer 3source type as described above in connection with sub-process 608A ofFIG. 12, will next proceed with processing the data records and/or datastructures associated with the lower-ranking RF Layer 1 source type.

When the data records associated with the highest-ranked source that hasnot already been used to estimate the location of a cell tower residingwithin the area of interest constitute RF Layer 1 data records, theexample program 600 executes a sub-process at block 608 with respect tothe RF Layer 1 data records. FIG. 20 is a flowchart representative ofexample machine-readable instructions 608B that may be executed toimplement the example data analyzer 322 of FIG. 3 for RF Layer 1 datarecords in connection with the sub-process 608B associated with block608 of FIG. 6. The example program 608B of FIG. 20 begins when theexample data analyzer 322 of FIG. 3 groups, categorizes and/or otherwiseorganizes the RF Layer 1 data records having the same Signal IDs (block2002). The data analyzer 322 then applies conventional triangulationtechniques to the grouped RF Layer 1 data records to determine anestimated location of a cell tower from which the grouped RF Layer 1signals were received (block 2004). In some examples, the appliedtriangulation techniques are based on the signal and/or messageinformation (e.g., the Signal Power measurement that was received by theexample data collector 104) contained in respective ones of the groupedRF Layer 1 data records, along with the location information (e.g., thelatitude and longitude at which the signal was received by the exampledata collector 104) contained in the grouped RF Layer 1 data records.Because the estimated location is based on the quantity and quality ofthe RF Layer 1 data points being available for triangulation, theestimated location may demonstrate significant location error relativeto the actual physical location of the cell tower for which theestimated location is being provided.

Following the execution of blocks 2002-2004 of the sub-process 608Bdescribed above in connection with the processing of RF Layer 1 datarecords as described in connection with the flowchart of FIG. 20, thesub-process 608B returns to block 608 of the example program 600 of FIG.6, and the example program 600 then proceeds to block 610.

Returning to the example flowchart of FIG. 6, blocks 608, 610, 612 and614 of the example program 600 will continue to execute in a cyclicalmanner as described above until the example data analyzer 322 and/or theexample location estimator 124 of FIG. 3 determines, at block 610, thatno additional data records are available from a lower-ranked source.Once the example data analyzer 322 and/or the location estimator 124 hasmade such a determination at block 610, the example program 600 proceedsto block 616 where the example report generator 326 of FIG. 3 generatesan estimated location report for the cell towers (e.g., the example celltowers 110, 112, 114, 116, 118 of FIG. 1) residing within the area ofinterest (e.g., the example area of interest 106 of FIG. 1) based on theestimated locations determined by the example location estimator 124(block 616).

By incrementally processing data obtained from different types of datasources, the example data analyzer 322, and/or, more generally, theexample location estimator 124 of FIG. 3 generates a set of locationestimations for cell towers residing in a particular area of interest,with the generated set of location estimations demonstrating arelatively higher degree of accuracy in comparison to corresponding setsof location estimations based on only one type of data source. Forexample, FIG. 21 illustrates a set of location estimations for examplecell towers within an example area of interest based only on datacollected from RF Layer 3 sources. FIG. 21 is derived from the examplecell towers 110, 112, 114, 116, 118 located within the example area ofinterest 106 of FIG. 1. In the illustrated example of FIG. 21, RF Layer3 signals including RF Layer 3 data and/or messages are transmitted bythe example cell towers 110, 114 and 116. However, as a result ofblocking or masking, RF Layer 3 signals including RF Layer 3 data and/ormessages are not transmitted by either of the example cell towers 112 or116. Accordingly, the example location estimator 124 of FIGS. 1 and/or3, if it were to rely solely on data collected from the example RF Layer3 signal transmitting cell towers, would generate highly accuratelocation estimations 2110, 2114, 2118 for corresponding ones of theexample cell towers 110, 114 and 118, but would fail to generate anylocation estimations for either of the example cell towers 112 or 116.In such a scenario, the location estimator 124 has only providedlocation estimations for three out of the five cell towers that actuallyreside within the example area of interest 106, thus making the set oflocation estimates for the area of interest 106 inaccurate to a certaindegree.

Similar inaccuracies would result if the example location estimator 124of FIGS. 1 and/or 3 were to rely solely on data collected from RF Layer1 data sources. For example, FIG. 22 illustrates a set of locationestimations for example cell towers within an example area of interestbased only on data collected from RF Layer 1 sources. Like FIG. 21, FIG.22 is derived from the example cell towers 110, 112, 114, 116, 118located within the example area of interest 106 of FIG. 1. In theillustrated example of FIG. 21, RF Layer 1 signals including RF Layer 1data and/or messages are transmitted by each of the example cell towers110, 112, 114, 116 and 118. While the example location estimator 124, ifit were to rely solely on data collected from the example RF Layer 1signal transmitting cell towers, would generate location estimations2210, 2212, 2214, 2216, 2218 for corresponding ones of the example celltowers 110, 112, 114, 116 and 118, the location estimates demonstratesignificant location errors as a result of the location estimates beinggenerated by triangulation methodologies, thus making the set oflocation estimates for the area of interest 106 inaccurate to a certaindegree.

In contrast to the aforementioned examples described in connection withFIGS. 21 and 22, the example location estimator 124 of FIGS. 1 and/or 3generates a set of location estimations for the example area of interest106 of FIG. 1 based on multiple types of data sources. To furtherincrease the accuracy of the generated location estimations, the examplelocation estimator 124, via the example data filter 324, filters outdata obtained from a lower-ranking data source (e.g., an RF Layer 1 datasource) that relates to a particular cell tower for which the examplelocation estimator 124 has already generated a location estimation basedon data obtained from a higher-ranking data source (e.g., an RF Layer 3data source). For example, FIG. 23 illustrates the example estimatedlocations shown in FIG. 22 that were based solely on RF Layer 1 datasources after those example estimated locations have been filtered bythe example data filter 324 so as to avoid and/or otherwise preventduplication of the example estimated locations shown in FIG. 21 thatwere based solely on the higher-ranking RF Layer 3 data sources.Accordingly, the location estimations 2210, 2214, 2218 appearing in FIG.22 associated with corresponding ones of the example cell towers 110,114 and 118, have been filtered out and do not appear in FIG. 23. Thelocation estimations 2212, 2216 appearing in FIG. 22, however, do stillappear in FIG. 23, as those particular location estimation arerespectively associated with the example cell towers 112 and 116 fromwhich, as shown and described above in connection with FIG. 21, RF Layer3 data was not available and RF Layer 3-based location estimations werenot provided.

Once the lower-ranking data has been filtered, the example locationestimator 124 of FIGS. 1 and/or 3 generates a combined set of locationestimations based on the collected and processed data associated withthe higher-ranking source (e.g., RF Layer 3 data) and the collected,filtered and processed data associated with the lower-ranking source(e.g., RF Layer 1 data). For example, FIG. 24 illustrates a set oflocation estimations for the example area of interest 106 derived bycombining the example RF Layer 3-based estimated locations 2110, 2114,2118 shown in FIG. 21 with the example filtered RF Layer 1-basedestimated locations 2212, 2216 shown in FIG. 23. The set of combinedlocation estimations illustrated in FIG. 24 demonstrates an overallincreased accuracy relative to the location estimations that weregenerated based on just one type of data source, as shown and describedin connection with FIGS. 21 and 22. For example, the set of locationestimations shown in FIG. 24 includes location estimations 2110, 2212,2114, 2216, 2118 for all of the corresponding example cell towers 110,112, 114, 116, 118 that actually reside in the example area of interest106, whereas the location estimations 2110, 2114, 2118 shown in FIG. 21accounted only for the example cell towers 110, 114 and 118.Furthermore, the set of location estimations shown in FIG. 24 provideshighly accurate RF Layer 3-based location estimations 2110, 2114, 2118for corresponding ones of the example cell towers 110, 114 and 118residing in the example area of interest 106, whereas the locationestimations 2210, 2214, 2218 shown in FIG. 22 provided less accurate RFLayer 1-based location estimations for those same example cell towers110, 114 and 118. Thus, the example location estimator 124, and/or, moregenerally, the example location estimation system 300, generates a setof location estimations for cell towers residing in a particular area ofinterest, wherein the generated set of location estimations demonstratesa higher degree of accuracy in comparison to corresponding sets oflocation estimations based on only one type of data source

FIGS. 25 and 26 are illustrations of example reports that may begenerated by the example report generator 326 of FIG. 3. In theillustrated examples of FIGS. 25 and 26, the example reports are basedon the example estimated locations described above in connection withFIG. 24. The example report 2500 of FIG. 25 includes, in graphical form,an example map 2502 corresponding to the example area of interest 106(FIG. 1) showing the relative estimated locations 2110, 2212, 2114,2216, 2118 for corresponding ones of the example cell towers 110, 112,114, 116, 118 residing in the example area of interest 106 of FIG. 1.The example map 2502 includes one or more horizontal lines 2504, 2506,2508 indicative of latitudes within the example area of interest 106, aswell as one or more vertical lines 2510, 2512, 2514 indicative oflongitudes within the example area of interest 106. The example report2500 further includes an example legend 2516 containing information bywhich the type of data source associated with each estimated locationmarked on the example map 2502 can be determined. For example, thelegend 2516 of FIG. 25 indicates that estimated locations marked with astar-shaped symbol in the example map 2502 are associated with an RFLayer 3 data source, while estimated locations marked with atriangle-shaped symbol in the example map 2502 are associated with an RFLayer 1 data source.

The example report 2600 of FIG. 26 includes information that is the sameas and/or similar to the information shown in FIG. 25, the primarydifference being that the example report 2600 provides the informationin textual, as opposed to graphical, form. As shown in FIG. 26, theexample report 2600 includes a description of the example area ofinterest 106, identifications (e.g., Tower IDs) of the example celltowers 110, 112, 114, 116, 118 residing within the example area ofinterest 106, identifications of example estimated locations (e.g.,latitudes and longitudes) associated with the identified example celltowers, and identifications of the type of data source (e.g., RF Layer3) from which the estimated locations were generated.

While the example reports 2500, 2600 shown in FIGS. 25 and 26 areillustrated as being of specific forms, reports generated by the examplereport generator 326 may be of any form and/or file type, and maycontain more or less information than what is illustrated in connectionwith the example reports 2500, 2600 of FIGS. 25 and 26.

FIG. 27 is a block diagram of an example processor platform 2700 capableof executing the instructions of FIG. 4 to implement the example mobileunit 102 of FIGS. 1 and 3. The processor platform 2700 can be, forexample, a server, a personal computer, a smartphone, or any other typeof computing device.

The processor platform 2700 of the illustrated example includes aprocessor 2712. The processor 2712 of the illustrated example ishardware. For example, the processor 2712 can be implemented by one ormore integrated circuits, logic circuits, microprocessors or controllersfrom any desired family or manufacturer.

The processor 2712 of the illustrated example includes the example datacollector 104 of FIGS. 1 and/or 3. The processor 2712 also includes alocal memory 2714 (e.g., a cache). The processor 2712 of the illustratedexample is in communication with a main memory including a volatilememory 2716 and a non-volatile memory 2718 via a bus 2720. The volatilememory 2716 may be implemented by Synchronous Dynamic Random AccessMemory (SDRAM), Dynamic Random Access Memory (DRAM), RAMBUS DynamicRandom Access Memory (RDRAM) and/or any other type of random accessmemory device. The non-volatile memory 2718 may be implemented by flashmemory and/or any other desired type of memory device. Access to themain memory 2716, 2718 is controlled by a memory controller.

The processor platform 2700 of the illustrated example also includes aninterface circuit 2722. The interface circuit 2722 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 2724 are connectedto the interface circuit 2722. The input device(s) 2724 permit(s) a userto enter data and commands into the processor 2712. The input device(s)can be implemented by, for example, a keyboard, a mouse, a touchscreen,a track-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices 2726 are also connected to the interfacecircuit 2722 of the illustrated example. The output devices 2726 can beimplemented, for example, by display devices (e.g., a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a printerand/or speakers). The interface circuit 2722 of the illustrated example,thus, typically includes a graphics driver card, a graphics driver chipor a graphics driver processor.

The interface circuit 2722 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network2728 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 2700 of the illustrated example also includes oneor more mass storage devices 2730 for storing software and/or data.Examples of such mass storage devices 2730 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives.

The coded instructions 400 of FIG. 4 may be stored in the mass storagedevice 2730, in the volatile memory 2716, in the non-volatile memory2718, and/or on a removable tangible computer readable storage medium2732 such as a CD or DVD.

FIG. 28 is a block diagram of an example processor platform 2800 capableof executing the instructions of FIGS. 6, 12, 19 and/or 20 to implementthe example central data facility 120 of FIGS. 1 and/or 3. The processorplatform 2800 can be, for example, a server, a personal computer, or anyother type of computing device.

The processor platform 2800 of the illustrated example includes aprocessor 2812. The processor 2812 of the illustrated example ishardware. For example, the processor 2812 can be implemented by one ormore integrated circuits, logic circuits, microprocessors or controllersfrom any desired family or manufacturer.

The processor 2812 of the illustrated example includes the example dataclassifier 122 and the example location estimator 124 of FIGS. 1 and 3.The processor 2812 also includes a local memory 2814 (e.g., a cache).The processor 2812 of the illustrated example is in communication with amain memory including a volatile memory 2816 and a non-volatile memory2818 via a bus 2820. The volatile memory 2816 may be implemented bySynchronous Dynamic Random Access Memory (SDRAM), Dynamic Random AccessMemory (DRAM), RAMBUS Dynamic Random Access Memory (RDRAM) and/or anyother type of random access memory device. The non-volatile memory 2818may be implemented by flash memory and/or any other desired type ofmemory device. Access to the main memory 2816, 2818 is controlled by amemory controller.

The processor platform 2800 of the illustrated example also includes aninterface circuit 2822. The interface circuit 2822 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 2824 are connectedto the interface circuit 2822. The input device(s) 2824 permit(s) a userto enter data and commands into the processor 2812. The input device(s)can be implemented by, for example, a keyboard, a mouse, a touchscreen,a track-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices 2826 are also connected to the interfacecircuit 2822 of the illustrated example. The output devices 2826 can beimplemented, for example, by display devices (e.g., a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a printerand/or speakers). The interface circuit 2822 of the illustrated example,thus, typically includes a graphics driver card, a graphics driver chipor a graphics driver processor.

The interface circuit 2822 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network2828 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 2800 of the illustrated example also includes oneor more mass storage devices 2830 for storing software and/or data.Examples of such mass storage devices 2830 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives.

The coded instructions 600 of FIGS. 6, 12, 19 and/or 20 may be stored inthe mass storage device 2830, in the volatile memory 2816, in thenon-volatile memory 2818, and/or on a removable tangible computerreadable storage medium 2832 such as a CD or DVD.

From the foregoing, it will be appreciated that by incrementallyprocessing data obtained from different types of data sources, the abovedisclosed methods, apparatus and articles of manufacture advantageouslygenerate a set of location estimations for cell towers residing in aparticular area of interest, with the generated set of locationestimations demonstrating a relatively higher degree of accuracy incomparison to corresponding sets of location estimations based on onlyone type of data source. As a result of the heightened accuracydemonstrated by the location estimations generated by the abovedisclosed methods, apparatus and articles of manufacture, the generatedlocation estimations more accurately reflect the true configurationand/or layout of a service provider's network, thus making the generatedlocation estimations more valuable not only to the service provider thatowns and/or operates the cell towers and/or cellular network ofinterest, but to third-party entities (e.g., a competing serviceprovider, or an information collection/measurement company) as well.

Although certain example methods, apparatus and articles of manufacturehave been disclosed herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

1. A computer implemented method for estimating locations of celltowers, the method comprising: ranking, with a source ranker, a firstdata source having a first accuracy relative to a second data sourcehaving a second accuracy; identifying based on the ranking of the firstdata source relative to the second data source, a higher-ranking datasource and a lower-ranking data source; identifying, with a locationestimator, an estimated location for respective ones of the cell towersbased on data collected from the higher-ranking data source; when anestimated location for respective ones of the cell towers has not beenidentified based on data collected from the higher-ranking data source,identifying, with the location estimator, an estimated location forrespective ones of the cell towers based on data collected from thelower-ranking data source, wherein at least one of the source ranker orthe location estimator includes a processor; and generating a report,the report including the identified estimated location for respectiveones of the cell towers.
 2. A method as defined in claim 1, wherein thedata collected from the higher-ranking data source includes RF Layer 3data.
 3. A method as defined in claim 2, wherein the RF Layer 3 dataincludes a latitude and a longitude, the latitude and the longitude bothbeing associated with a transmitter of a cell tower.
 4. A method asdefined in claim 1, wherein the data collected from the lower-rankingdata source includes RF Layer 1 data.
 5. A method as defined in claim 4,wherein identifying the estimated location for respective ones of thecell towers based on data collected from the lower-ranking data sourceincludes applying a triangulation technique to signal informationcontained in the RF Layer 1 data.
 6. A method as defined in claim 1,further including, prior to identifying the estimated location forrespective ones of the cell towers based on data collected from thelower-ranking data source, filtering out data collected from thelower-ranking data source that is associated with respective ones of thecell towers for which an estimated location has been identified based ondata collected from the higher-ranking data source.
 7. (canceled)
 8. Asystem for estimating locations of cell towers, the system comprising: asource ranker to: rank a first data source having a first accuracyrelative to a second data source having a second accuracy; and identify,based on the ranking of the first data source relative to the seconddata source, a higher-ranking data source and a lower-ranking datasource; a location estimator to: identify an estimated location forrespective ones of the cell towers based on data collected from thehigher-ranking data source; and when an estimated location forrespective ones of the cell towers has not been identified based on datacollected from the higher-ranking data source, identify an estimatedlocation for respective ones of the cell towers based on data collectedfrom the lower-ranking data source; and a report generator to generate areport, the report including the identified estimated location forrespective ones of the cell towers.
 9. A system as defined in claim 8,wherein the data collected from the higher-ranking data source includesRF Layer 3 data.
 10. A system as defined in claim 9, wherein the RFLayer 3 data includes a latitude and a longitude, the latitude and thelongitude both being associated with a transmitter of a cell tower. 11.A system as defined in claim 8, wherein the data collected from thelower-ranking data source includes RF Layer 1 data.
 12. A system asdefined in claim 11, wherein the location estimator, when identifyingthe estimated location for respective ones of the cell towers based ondata collected from the lower-ranking data source, is to apply atriangulation technique to signal information contained in the RF Layer1 data.
 13. A system as defined in claim 8, further including a datafilter to, prior to identifying the estimated location for respectiveones of the cell towers based on data collected from the lower-rankingdata source, filter out data collected from the lower-ranking datasource that is associated with respective ones of the cell towers forwhich an estimated location has been identified based on data collectedfrom the higher-ranking data source.
 14. (canceled)
 15. A tangiblecomputer readable storage medium comprising computer readableinstructions for estimating locations of cell towers, wherein theinstructions, when executed, cause a processor to at least: rank a firstdata source having a first accuracy relative to a second data sourcehaving a second accuracy; identify, based on the ranking of the firstdata source relative to the second data source, a higher-ranking datasource and a lower-ranking data source; identify an estimated locationfor respective ones of the cell towers based on data collected from thehigher-ranking data source; when an estimated location for respectiveones of the cell towers has not been identified based on data collectedfrom the higher-ranking data source, identify an estimated location forrespective ones of the cell towers based on data collected from thelower-ranking data source; and generate a report, the report includingthe identified estimated location for respective ones of the celltowers.
 16. A storage medium as defined in claim 15, wherein the datacollected from the higher-ranking data source includes RF Layer 3 data.17. A storage medium as defined in claim 16, wherein the RF Layer 3 dataincludes a latitude and a longitude, the latitude and the longitude bothbeing associated with a transmitter of a cell tower.
 18. A storagemedium as defined in claim 15, wherein the data collected from thelower-ranking data source includes RF Layer 1 data.
 19. A storage mediumas defined in claim 18, wherein the instructions are further to causethe processor to at least, when identifying the estimated location forrespective ones of the cell towers based on data collected from thelower-ranking data source, apply a triangulation technique to signalinformation contained in the RF Layer 1 data
 20. A storage medium asdefined in claim 15, wherein the instructions are further to cause theprocessor to at least, prior to identifying the estimated location forrespective ones of the cell towers based on data collected from thelower-ranking data source, filter out data collected from thelower-ranking data source that is associated with respective ones of thecell towers for which an estimated location has been identified based ondata collected from the higher-ranking data source.
 21. (canceled)